#ifndef DATACENTER_DEF_H
#define DATACENTER_DEF_H

/**
 * @copyright Copyright (c) 2025 
 * CSG Digital Grid Technology (Guangdong) Co., Ltd.
 * @author zhouyan
*/
#include <string>
#include <list>

namespace DC {

    struct ModelItem {
        std::string name;
        std::string type;
        std::string unit;
        std::string deadzone;
        std::string ratio;
        std::string isReport;
        std::string userdefine;

        bool compare (const ModelItem & o) const {
            return this->name == o.name   && this->type == o.type;
        }
        ModelItem() : deadzone("0"), ratio("1"), isReport("0") { }
    };
    typedef std::list<DC::ModelItem> ModelItems;

    struct DevInfo {
        std::string model;
        std::string port;
        std::string addr;
        std::string manuID;
        std::string manuName;
        std::string protocolName;
        std::string deviceType;
        std::string isReport;
        std::string nodeID;
        std::string productID;
        std::string desc;
        std::string guid;
        std::string dev;
    };
    typedef std::list<DC::DevInfo> DevInfos;
}

#endif // DATACENTER_DEF_H
